import Actions from './actions';
export interface IMainReducer {
  isReady: boolean;
  isLoading?: boolean;
  userInfo: any;
  response: {
    [name: string]: any;
  };
  status: {
    [name: string]: any;
  };
  wishProductOperates: Array<any>;
  productItems: Array<any>;
  gameInfo: any;
  nextItem: any;
  currentWish: any;
  codeMessage: any;
  gameLotteries: Array<any>;
  task: any; // 任务相关
  prop: any;
  taskType: any;
}

export type ActionType = ReturnType<typeof Actions>;
export type IAllReducerProps = {
  main: IMainReducer;
  [name: string]: any;
};

export type IProps = IAllReducerProps & ActionType;

interface operateOption {
  label: string;
  func: string;
  className: string;
}
interface atModalPropType {
  closeOnClickOverlay: boolean;
}
//自定义
export type IInfoProps = {};
export type IInfoState = {
  OPERATES?: Array<operateOption>;
  atModal?: atModalPropType;
  pics?: any;
  ActionSheet?: {
    [name: string]: any;
  };
  selectId?: number;
  badge?: any;
  timer?: any;
  advanceStartTime?: any;
  loading?: {
    status: boolean;
    text: any;
    style?: any;
  };
  empty?: {
    status?: boolean;
    text: any;
  };
  renderPrizeContent?: Array<any>;
  imageError?: any;
  refresherTriggered?: any;
  selectedProp?: any;
};
